import { request } from './request';
// 询问大模型
export interface ChatResponse {
  content: string; // 返回的内容
  role: string; // 角色，例如 'assistant'
}

export interface ChatResult {
  choices: Array<{
    finish_reason: string; // 结束原因，例如 'stop'
    index: number; // 选项索引
    message: ChatResponse; // 消息内容
  }>;
  created: number; // 创建时间戳
  id: string; // 唯一标识符
  model: string; // 模型名称
  service_tier: string; // 服务等级
  object: string; // 对象类型，例如 'chat.completion'
  usage: {
    completion_tokens: number; // 消耗的完成 token 数量
    prompt_tokens: number; // 消耗的提示 token 数量
    total_tokens: number; // 总 token 数量
    prompt_tokens_details?: {
      cached_tokens: number; // 缓存的 token 数量
    };
    completion_tokens_details?: {
      reasoning_tokens: number; // 推理 token 数量
    };
  };
}
export function chat<T = ChatResult>({
  model,
  system,
  content,
  apiKey,
}: {
  model: string;
  system: string;
  content: string;
  apiKey: string;
}) {
  return request<T, T>({
    url: 'https://ark.cn-beijing.volces.com/api/v3/chat/completions',
    method: 'POST',
    headers: {
      Authorization: `Bearer ${apiKey}`,
    },
    data: {
      model: model,
      messages: [
        {
          role: 'system',
          content: system,
        },
        {
          role: 'user',
          content: content,
        },
      ],
    },
  });
}
